//
//  GNTableViewProtocol.h
//  SuperApp
//
//  Created by wmz on 2021/5/28.
//  Copyright © 2021 chaos network technology. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "GNRowModelProtocol.h"
@class GNSectionModel,GNTableView;
NS_ASSUME_NONNULL_BEGIN

@protocol GNTableViewProtocol <NSObject>
@optional

/*!
* @brief 单个section
* @param tableView MZTableView
 */
- (NSArray < id<GNRowModelProtocol>>*)numberOfRowsInGNTableView:(GNTableView *)tableView;

/*!
* @brief 多个section
* @param tableView MZTableView
 */
- (NSArray <GNSectionModel*>*)numberOfSectionsInGNTableView:(GNTableView *)tableView;


/*!
* @brief 设置cellclass的方法
* @param tableView MZTableView
 */
- (Class)classOfGNTableView:(GNTableView *)tableView atIndexPath:(NSIndexPath *)indexPath;

/*!
* @brief tableView点击cell
* @param tableView MZTableView
* @param indexPath NSIndexPath
* @param rowData 对应数据
*/
- (void)GNTableView:(GNTableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath data:(id<GNRowModelProtocol>)rowData;

/*!
* @brief 滚动
* @param tableView MZTableView
 */
- (void)gnScrollViewDidScroll:(UIScrollView *)tableView;
@end

NS_ASSUME_NONNULL_END
